#ifndef COMPILER_H
#define COMPILER_H

#include <clang/Basic/LangOptions.h>

namespace llvm {
   class Module;
   class Function;
   class BasicBlock;
   class Instruction;
   //class InstIterator;
   class User;
   class Use;
   class Value;
}

class Compiler
{
public:
   Compiler();
   ~Compiler();

   llvm::Module *compile(const std::string &text);

private:
   void init();

private:
   clang::LangOptions m_langOptions;
//   clang::CompileOptions m_compileOptions;
   std::string m_targetCpu;
};

#endif
